﻿using System.Collections.Generic;
using Neturion.Dados;
using Neturion.IRepositorios;
using Neturion.Repositorios;

namespace Neturion.Negocios
{
    /// <summary>
    /// 
    /// </summary>
    public class NegocioPerfil
    {
        private IRepositorioPerfil _repositorioPerfil;

        /// <summary>
        /// 
        /// </summary>
        public NegocioPerfil()
        {
            _repositorioPerfil = new RepositorioPerfil();
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="perfil"></param>
        /// <returns></returns>
        public Perfil Inserir(Perfil perfil)
        {
            return _repositorioPerfil.Inserir(perfil);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="perfil"></param>
        /// <returns></returns>
        public Perfil Atualizar(Perfil perfil)
        {
            return _repositorioPerfil.Atualizar(perfil);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="perfil"></param>
        public void Excluir(Perfil perfil)
        {
            Perfil perfilTmp = ObterPorId(perfil.PerfilId);
            _repositorioPerfil.Excluir(perfilTmp);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public IList<Perfil> ObterTodos(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioLogado, string descricao)
        {
            return _repositorioPerfil.ObterTodos(inicio, quantidade, quantidadeMinima, descricao);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Perfil ObterPorId(int id)
        {
            return _repositorioPerfil.ObterPorId(id);
        }
    }
}